import Vue from 'vue'
// 加载属性共享模块
import Vuex from 'vuex'
// 加载存储数据和获取数据的模块
import { setItem, getItem } from '@/utils/storage'

const TOKEN_KEY = 'TOUTIAO_USER'
Vue.use(Vuex)
export default new Vuex.Store({
  // 用于储存用户的数据
  state: {
    // 存储用户传递的token值
    // 要点:便于读取还原成字符串
    // user: JSON.parse(window.localStorage.getItem(TOKEN_KEY))
    user: getItem(TOKEN_KEY)
  },
  // 用于修改state里的数据
  mutations: {
    setUser(state, data) {
      // 接收用户传递的数据(data传递的token值)
      state.user = data
      // // 因为接收的数据时临时的,所以储存到本地,便于持久化
      // // 要点:因为本地存储只能存字符串,所以需要转换成字符串
      // window.localStorage.setItem(TOKEN_KEY, JSON.stringify(state.user))
      setItem(TOKEN_KEY, state.user)
    }
  },
  actions: {},
  modules: {}
})
